Skip to content

Conversation

gmaclennan
Copy link
Member

@gmaclennan gmaclennan commented Aug 7, 2025

Initial experimental implementation to fix #132

@gmaclennan gmaclennan self-assigned this Aug 7, 2025
@gmaclennan gmaclennan changed the title feat: Index docs in a worker WIP feat: Index docs in a worker Aug 7, 2025
@RangerMauve
Copy link
Contributor

Why was it necessary to migrate the coresTable for this?

@RangerMauve RangerMauve marked this pull request as ready for review September 18, 2025 19:43
Copy link
Member Author

@gmaclennan gmaclennan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks ok to me (I can't approve my own PR). I think it's important to have tests to ensure that the migration works (e.g. persisted cores are not forgotten) because this could be hard to catch in manual QA (it would require force-quitting the app at a specific point, and ensuring the other device is not on the same network when re-starting).

I'd be ok with merging this and doing the tests next, but soon, before QA for the next RC is done, so that we don't release this without tests for this important step.

@RangerMauve
Copy link
Contributor

tests to ensure that the migration works (e.g. persisted cores are not forgotten)

Are the existing migration tests (once adapted to use workers) sufficient to check this? Or is there more we need to add.

@gmaclennan
Copy link
Member Author

Not sure, I have a feeling that they are not. Easiest way to check is to comment out the migration code and see if any test fails.

@gmaclennan
Copy link
Member Author

This would only be noticeable in this sequence:

  1. Devices A and B
  2. Device A creates some data, syncs with B
  3. Devices disconnect
  4. Device B destroys its instance and creates a new instance with the new core manager storage
  5. Device B re-indexes data
  6. Does data that was synced from A still exist?

You would only notice that cores are missing (eg they haven't been persisted) if device B reindexes, because the data will be in the indexes for B. Alternatively, if B syncs with a new device C after migration, are A's cores shared (eg does C get A's data from B)

@RangerMauve
Copy link
Contributor

Cool yeah I'll see how I can simulate that. I'm also gonna enable workers for all tests first to see if that breaks anything. Seems our sync tests are having trouble already

@RangerMauve
Copy link
Contributor

The sync test is flakey so there might be a race condition in there regarding indexing. Gotta figure that out before merge

@RangerMauve
Copy link
Contributor

RangerMauve commented Sep 30, 2025

I feel that the failing test is the thing that needs to change. If you look at my annotated logs, the Invitee is rightfully refusing to replicate its config cores.

mapeo:manager:INVITOR set device info { name: 'device0-device_type_unspecified', deviceType: 'device_type_unspecified' } +0ms
mapeo:manager:INVITEE set device info { name: 'device1-device_type_unspecified', deviceType: 'device_type_unspecified' } +0ms
mapeo:manager:BLOCKEE set device info { name: 'device2-device_type_unspecified', deviceType: 'device_type_unspecified' } +0ms
mapeo:project:coreManager:INVITOR Added local auth core INVITOR_AUTH +0ms
mapeo:project:coreManager:INVITOR Added local config core INVITOR_CONFIG +0ms
mapeo:project:coreManager:INVITOR Added local data core 053067f +0ms
mapeo:project:coreManager:INVITOR Added local blobIndex core f9b01cc +1ms
mapeo:project:coreManager:INVITOR Added local blob core e422197 +0ms
mapeo:project:INVITOR Created project instance b92765a, true +0ms
mapeo:LocalDiscovery:INVITOR server listening on port 45423 +0ms
mapeo:LocalDiscovery:INVITEE server listening on port 42619 +0ms
mapeo:LocalDiscovery:BLOCKEE server listening on port 46187 +0ms
mapeo:LocalDiscovery:INVITEE peer connected 38a3d3e 127.0.0.1 45423 +1ms
mapeo:LocalDiscovery:BLOCKEE peer connected 38a3d3e 127.0.0.1 45423 +1ms
mapeo:LocalDiscovery:INVITOR peer connected 64915fd 127.0.0.1 42619 +2ms
mapeo:LocalDiscovery:BLOCKEE peer connected 64915fd 127.0.0.1 42619 +1ms
mapeo:LocalDiscovery:INVITOR peer connected a5245c0 127.0.0.1 46187 +0ms
mapeo:LocalDiscovery:INVITEE peer connected a5245c0 127.0.0.1 46187 +1ms
mapeo:LocalDiscovery:INVITOR incoming tcp connection from 127.0.0.1 +96ms
mapeo:LocalDiscovery:INVITEE incoming tcp connection from 127.0.0.1 +97ms
mapeo:LocalDiscovery:BLOCKEE incoming tcp connection from 127.0.0.1 +97ms
mapeo:LocalDiscovery:INVITEE outgoing tcp connection to 127.0.0.1 +1ms
mapeo:LocalDiscovery:BLOCKEE outgoing tcp connection to 127.0.0.1 +1ms
mapeo:LocalDiscovery:INVITOR outgoing tcp connection to 127.0.0.1 +2ms
mapeo:LocalDiscovery:BLOCKEE outgoing tcp connection to 127.0.0.1 +1ms
mapeo:LocalDiscovery:INVITOR outgoing tcp connection to 127.0.0.1 +1ms
mapeo:LocalDiscovery:INVITEE outgoing tcp connection to 127.0.0.1 +1ms
mapeo:LocalDiscovery:INVITOR incoming tcp connection from 127.0.0.1 +3ms
mapeo:LocalDiscovery:INVITEE incoming tcp connection from 127.0.0.1 +3ms
mapeo:LocalDiscovery:BLOCKEE incoming tcp connection from 127.0.0.1 +3ms
mapeo:LocalDiscovery:INVITEE outgoing secret stream connection to INVITOR +5ms
mapeo:LocalDiscovery:INVITOR outgoing secret stream connection to INVITEE +8ms
mapeo:LocalDiscovery:INVITOR outgoing secret stream connection to BLOCKEE +1ms
mapeo:LocalDiscovery:INVITOR incoming secret stream connection from INVITEE +2ms
mapeo:LocalDiscovery:INVITOR keeping existing, destroying new +0ms
mapeo:LocalDiscovery:INVITEE incoming secret stream connection from INVITOR +8ms
mapeo:LocalDiscovery:INVITEE destroying existing, keeping new +0ms
mapeo:LocalDiscovery:INVITEE closed connection with INVITOR +0ms
mapeo:localPeers:peer:INVITEE [INVITOR] disconnected +0ms
mapeo:LocalDiscovery:INVITEE incoming secret stream connection from INVITOR +1ms
mapeo:localPeers:peer:INVITEE [INVITOR] connected +0ms
mapeo:localPeers:peer:INVITEE [INVITOR] sent deviceInfo { deviceId: 'INVITEE322bcf5760ca628fa245fbbc384d7624cf5541ecf1fc78717fdd511c7', deviceType: 'device_type_unspecified', name: 'device1-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:localPeers:peer:INVITEE [INVITOR] sent deviceInfo { deviceId: 'INVITEE322bcf5760ca628fa245fbbc384d7624cf5541ecf1fc78717fdd511c7', deviceType: 'device_type_unspecified', name: 'device1-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:LocalDiscovery:BLOCKEE incoming secret stream connection from INVITOR +16ms
mapeo:localPeers:peer:BLOCKEE [INVITOR] connected +0ms
mapeo:localPeers:peer:BLOCKEE [INVITOR] sent deviceInfo { deviceId: 'BLOCKEEdb979849cac8967d05af12077770a7fe17d1cf939eeb5c0a2c26849f9', deviceType: 'device_type_unspecified', name: 'device2-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:LocalDiscovery:BLOCKEE outgoing secret stream connection to INVITOR +2ms
mapeo:LocalDiscovery:BLOCKEE keeping existing, destroying new +0ms
mapeo:LocalDiscovery:BLOCKEE outgoing secret stream connection to INVITEE +0ms
mapeo:LocalDiscovery:INVITEE outgoing secret stream connection to BLOCKEE +6ms
mapeo:localPeers:peer:INVITOR [INVITEE] connected +0ms
mapeo:localPeers:peer:INVITOR [INVITEE] received deviceInfo { name: 'device1-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:INVITOR [INVITEE] received deviceInfo { name: 'device1-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:INVITOR [INVITEE] sent deviceInfo { deviceId: 'INVITOR036467fc7faa3d24bae8081aca46d0e7503d374389d35e40c0e445ae5', deviceType: 'device_type_unspecified', name: 'device0-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] connected +0ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] received deviceInfo { name: 'device2-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] sent deviceInfo { deviceId: 'INVITOR036467fc7faa3d24bae8081aca46d0e7503d374389d35e40c0e445ae5', deviceType: 'device_type_unspecified', name: 'device0-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:LocalDiscovery:INVITOR incoming secret stream connection from BLOCKEE +14ms
mapeo:LocalDiscovery:INVITOR keeping existing, destroying new +0ms
mapeo:LocalDiscovery:INVITEE incoming secret stream connection from BLOCKEE +5ms
mapeo:LocalDiscovery:INVITEE destroying existing, keeping new +0ms
mapeo:LocalDiscovery:INVITEE closed connection with BLOCKEE +1ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] disconnected +0ms
mapeo:LocalDiscovery:INVITEE incoming secret stream connection from BLOCKEE +0ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] connected +0ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] sent deviceInfo { deviceId: 'INVITEE322bcf5760ca628fa245fbbc384d7624cf5541ecf1fc78717fdd511c7', deviceType: 'device_type_unspecified', name: 'device1-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] sent deviceInfo { deviceId: 'INVITEE322bcf5760ca628fa245fbbc384d7624cf5541ecf1fc78717fdd511c7', deviceType: 'device_type_unspecified', name: 'device1-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:LocalDiscovery:BLOCKEE incoming secret stream connection from INVITEE +9ms
mapeo:LocalDiscovery:BLOCKEE keeping existing, destroying new +0ms
mapeo:localPeers:peer:INVITEE [INVITOR] received deviceInfo { name: 'device0-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:BLOCKEE [INVITOR] received deviceInfo { name: 'device0-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:BLOCKEE [INVITEE] connected +0ms
mapeo:localPeers:peer:BLOCKEE [INVITEE] received deviceInfo { name: 'device1-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:BLOCKEE [INVITEE] received deviceInfo { name: 'device1-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:localPeers:peer:BLOCKEE [INVITEE] sent deviceInfo { deviceId: 'BLOCKEEdb979849cac8967d05af12077770a7fe17d1cf939eeb5c0a2c26849f9', deviceType: 'device_type_unspecified', name: 'device2-device_type_unspecified', features: [ 'ack' ] } +0ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] received deviceInfo { name: 'device2-device_type_unspecified', features: [ 'ack' ], deviceType: 'device_type_unspecified' } +0ms
mapeo:project:coreManager:INVITOR ready +162ms
mapeo:localPeers:INVITEE Received discovery key INVITOR_AUTH from INVITOR +0ms
mapeo:manager:INVITEE Received dk INVITOR_AUTH but no active projects +180ms
mapeo:localPeers:BLOCKEE Received discovery key INVITOR_AUTH from INVITOR +0ms
mapeo:manager:BLOCKEE Received dk INVITOR_AUTH but no active projects +181ms
mapeo:project:syncApi:INVITOR Setting sync enabled state to "presync" +0ms
mapeo:manager:INVITOR created project b92765a, public id: moaxqpk +200ms
mapeo:InviteApi:BLOCKEE Received invite 6a5c5c5 from INVITOR +0ms
mapeo:localPeers:BLOCKEE Invite 6a5c5c5 from INVITOR for 3e00224 +31ms
mapeo:InviteApi:BLOCKEE Accepting invite 6a5c5c5 +4ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] sent invite 6a5c5c5 +0ms
mapeo:project:coreManager:BLOCKEE Added local auth core BLOCKEE_AUTH +0ms
mapeo:project:coreManager:BLOCKEE Added local config core BLOCKEE_CONFIG +0ms
mapeo:project:coreManager:BLOCKEE Added local data core 8f54716 +0ms
mapeo:project:coreManager:BLOCKEE Added local blobIndex core 5ab1851 +0ms
mapeo:project:coreManager:BLOCKEE Added local blob core b765603 +1ms
mapeo:project:coreManager:BLOCKEE Added creator auth core INVITOR_AUTH +0ms
mapeo:project:BLOCKEE Created project instance b92765a, true +0ms
mapeo:localPeers:peer:BLOCKEE [INVITOR] sent response for 6a5c5c5: ACCEPT +0ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] sent project join details for b92765a +0ms
mapeo:project:coreManager:BLOCKEE ready +18ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] enabled namespace auth +1ms
mapeo:localPeers:INVITEE Received discovery key INVITOR_AUTH from BLOCKEE +66ms
mapeo:manager:INVITEE Received dk INVITOR_AUTH but no active projects +66ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:BLOCKEE Setting sync enabled state to "presync" +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] replicating auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] enabled namespace auth +0ms
mapeo:project:blobStore:BLOCKEE Download intent null for peer INVITOR +0ms
mapeo:project:css:blob:BLOCKEE [b765603] Peer INVITOR wants everything: true +0ms
mapeo:project:css:auth:BLOCKEE [INVITOR_AUTH] Updated peer INVITOR pre-haves length from 0 to 2 +0ms
mapeo:project:css:config:BLOCKEE [INVITOR_CONFIG] Updated peer INVITOR pre-haves length from 0 to 2 +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +5ms
mapeo:project:coreManager:INVITOR Added remote auth core BLOCKEE_AUTH +76ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] replicating auth core BLOCKEE_AUTH +10ms
mapeo:project:blobStore:INVITOR Download intent null for peer BLOCKEE +0ms
mapeo:project:css:blob:INVITOR [e422197] Peer BLOCKEE wants everything: true +0ms
mapeo:localPeers:INVITOR Received discovery key BLOCKEE_AUTH from BLOCKEE +0ms
mapeo:project:coreManager:INVITOR Added remote config core BLOCKEE_CONFIG +14ms
mapeo:project:coreManager:INVITOR Added remote data core 8f54716 +1ms
mapeo:project:coreManager:INVITOR Added remote blobIndex core 5ab1851 +0ms
mapeo:project:coreManager:INVITOR Added remote blob core b765603 +0ms
mapeo:project:syncApi:INVITOR Added non-auth cores for peer BLOCKEE +85ms
mapeo:project:coreManager:BLOCKEE Added remote config core INVITOR_CONFIG +144ms
mapeo:project:coreManager:BLOCKEE Added remote data core 053067f +0ms
mapeo:project:coreManager:BLOCKEE Added remote blobIndex core f9b01cc +0ms
mapeo:project:coreManager:BLOCKEE Added remote blob core e422197 +1ms
mapeo:project:syncApi:BLOCKEE Added non-auth cores for peer INVITOR +139ms
mapeo:project:syncApi:BLOCKEE Added non-auth cores for peer INVITOR +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] reading role for [undefined] +133ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] peer-remove BLOCKEE from auth core BLOCKEE_AUTH +1ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] unreplicated auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] disabled namespace auth +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] peer-remove INVITOR from auth core BLOCKEE_AUTH +136ms
mapeo:manager:BLOCKEE Added project b92765a, public ID: moaxqpk +212ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +64ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +200ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +745ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +672ms
mapeo:project:css:config:INVITOR [BLOCKEE_CONFIG] Updated peer BLOCKEE pre-haves length from 0 to 1 +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +201ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +201ms
mapeo:project:member-api:INVITOR ERROR: Could not initial sync with peer DOMException [TimeoutError]: The operation was aborted due to timeout
  at new DOMException (node:internal/per_context/domexception:53:5)
  at Timeout._onTimeout (node:internal/abort_controller:129:9)
  at listOnTimeout (node:internal/timers:581:17)
  at process.processTimers (node:internal/timers:519:7) +0ms
mapeo:InviteApi:INVITEE Received invite 5f40d0e from INVITOR +0ms
mapeo:localPeers:INVITEE Invite 5f40d0e from INVITOR for 3e00224 +5s
mapeo:InviteApi:INVITEE Accepting invite 5f40d0e +4ms
mapeo:localPeers:peer:INVITOR [INVITEE] sent invite 5f40d0e +0ms
mapeo:project:coreManager:INVITEE Added local auth core INVITEE_AUTH +0ms
mapeo:project:coreManager:INVITEE Added local config core INVITEE_CONFIG +0ms
mapeo:project:coreManager:INVITEE Added local data core 04cd092 +1ms
mapeo:project:coreManager:INVITEE Added local blobIndex core 2c36545 +0ms
mapeo:project:coreManager:INVITEE Added local blob core 51a52d5 +0ms
mapeo:project:coreManager:INVITEE Added creator auth core INVITOR_AUTH +0ms
mapeo:project:INVITEE Created project instance b92765a, true +0ms
mapeo:localPeers:peer:INVITEE [INVITOR] sent response for 5f40d0e: ACCEPT +0ms
mapeo:localPeers:peer:INVITOR [INVITEE] sent project join details for b92765a +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +4s
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +4s
mapeo:project:coreManager:INVITEE ready +22ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] enabled namespace auth +1ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] enabled namespace auth +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:INVITEE Setting sync enabled state to "presync" +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] enabled namespace auth +0ms
mapeo:project:coreManager:INVITEE Added remote auth core BLOCKEE_AUTH +5ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating auth core BLOCKEE_AUTH +1ms
mapeo:project:blobStore:INVITEE Download intent null for peer INVITOR +0ms
mapeo:project:css:blob:INVITEE [51a52d5] Peer INVITOR wants everything: true +0ms
mapeo:project:css:auth:INVITEE [INVITOR_AUTH] Updated peer INVITOR pre-haves length from 0 to 3 +0ms
mapeo:localPeers:INVITEE Received discovery key BLOCKEE_AUTH from INVITOR +45ms
mapeo:manager:INVITEE Received dk BLOCKEE_AUTH but no active projects +5s
mapeo:project:css:config:INVITEE [INVITOR_CONFIG] Updated peer INVITOR pre-haves length from 0 to 2 +0ms
mapeo:project:css:auth:INVITEE [BLOCKEE_AUTH] Updated peer INVITOR pre-haves length from 0 to 1 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +2ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] replicating auth core INVITOR_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] replicating auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] replicating auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] enabled namespace auth +0ms
mapeo:project:blobStore:INVITEE Download intent null for peer BLOCKEE +3ms
mapeo:project:css:blob:INVITEE [51a52d5] Peer BLOCKEE wants everything: true +3ms
mapeo:localPeers:INVITEE Received discovery key BLOCKEE_AUTH from BLOCKEE +3ms
mapeo:manager:INVITEE Received dk BLOCKEE_AUTH but no active projects +3ms
mapeo:project:css:config:INVITEE [BLOCKEE_CONFIG] Updated peer BLOCKEE pre-haves length from 0 to 1 +0ms
mapeo:project:coreManager:INVITOR Added remote auth core INVITEE_AUTH +5s
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating auth core INVITEE_AUTH +10ms
mapeo:project:blobStore:INVITOR Download intent null for peer INVITEE +5s
mapeo:project:css:blob:INVITOR [e422197] Peer INVITEE wants everything: true +5s
mapeo:project:css:blob:INVITOR [b765603] Peer INVITEE wants everything: true +0ms
mapeo:localPeers:INVITOR Received discovery key INVITEE_AUTH from INVITEE +5s
mapeo:project:coreManager:BLOCKEE Added remote auth core INVITEE_AUTH +5s
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] replicating auth core INVITEE_AUTH +21ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating auth core INVITEE_AUTH +11ms
mapeo:project:blobStore:BLOCKEE Download intent null for peer INVITEE +5s
mapeo:project:css:blob:BLOCKEE [b765603] Peer INVITEE wants everything: true +5s
mapeo:project:css:blob:BLOCKEE [e422197] Peer INVITEE wants everything: true +0ms
mapeo:localPeers:BLOCKEE Received discovery key INVITEE_AUTH from INVITEE +5s
mapeo:localPeers:INVITOR Received discovery key INVITEE_AUTH from BLOCKEE +8ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] Received discovery key INVITEE_AUTH, for core f3b16a1, but namespace auth is disabled +29ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +172ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] reading role for [undefined] +182ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating config core INVITOR_CONFIG +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating config core BLOCKEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] enabled namespace config +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blobIndex core f9b01cc +1ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blobIndex core 5ab1851 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] enabled namespace blobIndex +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +182ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] reading role for [undefined] +182ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating config core BLOCKEE_CONFIG +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating config core INVITOR_CONFIG +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] enabled namespace config +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating blobIndex core 5ab1851 +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] replicating blobIndex core f9b01cc +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] enabled namespace blobIndex +0ms
mapeo:localPeers:INVITEE Received discovery key INVITOR_CONFIG from INVITOR +188ms
mapeo:manager:INVITEE Received dk INVITOR_CONFIG but no active projects +188ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] Received unknown discovery key INVITOR_CONFIG +190ms
mapeo:localPeers:INVITEE Received discovery key BLOCKEE_CONFIG from INVITOR +0ms
mapeo:manager:INVITEE Received dk BLOCKEE_CONFIG but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] Received unknown discovery key BLOCKEE_CONFIG +0ms
mapeo:localPeers:INVITEE Received discovery key f9b01cc from INVITOR +0ms
mapeo:manager:INVITEE Received dk f9b01cc but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] Received unknown discovery key f9b01cc +1ms
mapeo:localPeers:INVITEE Received discovery key 5ab1851 from INVITOR +1ms
mapeo:manager:INVITEE Received dk 5ab1851 but no active projects +1ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] Received unknown discovery key 5ab1851 +0ms
mapeo:localPeers:INVITEE Received discovery key BLOCKEE_CONFIG from BLOCKEE +0ms
mapeo:manager:INVITEE Received dk BLOCKEE_CONFIG but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] Received unknown discovery key BLOCKEE_CONFIG +190ms
mapeo:localPeers:INVITEE Received discovery key INVITOR_CONFIG from BLOCKEE +0ms
mapeo:manager:INVITEE Received dk INVITOR_CONFIG but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] Received unknown discovery key INVITOR_CONFIG +0ms
mapeo:localPeers:INVITEE Received discovery key 5ab1851 from BLOCKEE +0ms
mapeo:manager:INVITEE Received dk 5ab1851 but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] Received unknown discovery key 5ab1851 +0ms
mapeo:localPeers:INVITEE Received discovery key f9b01cc from BLOCKEE +0ms
mapeo:manager:INVITEE Received dk f9b01cc but no active projects +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] Received unknown discovery key f9b01cc +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] reading role for [undefined] +10ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] reading role for [undefined] +10ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +3ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] peer-remove BLOCKEE from auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] unreplicated auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] peer-remove BLOCKEE from auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] unreplicated auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] disabled namespace auth +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] peer-remove INVITEE from auth core INVITEE_AUTH +17ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] peer-remove INVITEE from auth core BLOCKEE_AUTH +0ms
mapeo:manager:INVITEE Pending initial sync: role Coordinator, projectSettings false, auth true, config false +23ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +13ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating config core INVITEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] enabled namespace config +1ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blobIndex core 2c36545 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] enabled namespace blobIndex +0ms
mapeo:project:coreManager:INVITEE Added remote config core BLOCKEE_CONFIG +217ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating config core BLOCKEE_CONFIG +0ms
mapeo:project:coreManager:INVITEE Added remote data core 8f54716 +0ms
mapeo:project:coreManager:INVITEE Added remote blobIndex core 5ab1851 +1ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blobIndex core 5ab1851 +2ms
mapeo:project:coreManager:INVITEE Added remote blob core b765603 +1ms
mapeo:project:syncApi:INVITEE Added non-auth cores for peer BLOCKEE +220ms
mapeo:project:syncApi:INVITEE Added non-auth cores for peer BLOCKEE +0ms
mapeo:project:syncApi:INVITEE Added non-auth cores for peer BLOCKEE +1ms
mapeo:project:coreManager:INVITEE Added remote config core INVITOR_CONFIG +1ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating config core INVITOR_CONFIG +1ms
mapeo:project:coreManager:INVITEE Added remote data core 053067f +0ms
mapeo:project:coreManager:INVITEE Added remote blobIndex core f9b01cc +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blobIndex core f9b01cc +1ms
mapeo:project:coreManager:INVITEE Added remote blob core e422197 +2ms
mapeo:project:syncApi:INVITEE Added non-auth cores for peer INVITOR +2ms
mapeo:project:syncApi:INVITEE Added non-auth cores for peer INVITOR +0ms
mapeo:localPeers:INVITOR Received discovery key INVITEE_CONFIG from INVITEE +207ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] Received unknown discovery key INVITEE_CONFIG +33ms
mapeo:localPeers:INVITOR Received discovery key 2c36545 from INVITEE +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] Received unknown discovery key 2c36545 +0ms
mapeo:project:coreManager:INVITOR Added remote config core INVITEE_CONFIG +220ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating config core INVITEE_CONFIG +4ms
mapeo:project:coreManager:INVITOR Added remote data core 04cd092 +0ms
mapeo:project:coreManager:INVITOR Added remote blobIndex core 2c36545 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blobIndex core 2c36545 +1ms
mapeo:project:coreManager:INVITOR Added remote blob core 51a52d5 +1ms
mapeo:project:syncApi:INVITOR Added non-auth cores for peer INVITEE +5s
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +200ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +160ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +199ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +182ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +183ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +198ms
mapeo:manager:INVITEE Added project b92765a, public ID: moaxqpk +189ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +254ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +254ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +271ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +271ms
mapeo:project:syncApi:INVITOR Setting sync enabled state to "all" +556ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating data core 053067f +126ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating data core 8f54716 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating data core 04cd092 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] enabled namespace data +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blob core e422197 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blob core b765603 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] replicating blob core 51a52d5 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] enabled namespace blob +0ms
mapeo:project:syncApi:INVITEE Setting sync enabled state to "all" +563ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating data core 04cd092 +127ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating data core 8f54716 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating data core 053067f +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] enabled namespace data +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blob core 51a52d5 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blob core b765603 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] replicating blob core e422197 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] enabled namespace blob +0ms
mapeo:project:syncApi:BLOCKEE Setting sync enabled state to "all" +6s
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +73ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +200ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +200ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +74ms
mapeo:LocalDiscovery:INVITOR stopping +6s
mapeo:LocalDiscovery:INVITEE stopping +6s
mapeo:LocalDiscovery:BLOCKEE stopping +6s
mapeo:LocalDiscovery:INVITOR closed connection with INVITEE +1ms
mapeo:localPeers:peer:INVITOR [INVITEE] disconnected +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from auth core INVITOR_AUTH +47ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blobIndex core f9b01cc +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blobIndex core 5ab1851 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from config core INVITOR_CONFIG +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from config core BLOCKEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from config core INVITEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blobIndex core 2c36545 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from data core 053067f +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from data core 8f54716 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from data core 04cd092 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blob core e422197 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blob core b765603 +0ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] peer-remove INVITEE from blob core 51a52d5 +0ms
mapeo:LocalDiscovery:INVITOR closed connection with BLOCKEE +2ms
mapeo:localPeers:peer:INVITOR [BLOCKEE] disconnected +0ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] peer-remove BLOCKEE from auth core INVITOR_AUTH +48ms
mapeo:LocalDiscovery:INVITEE closed connection with INVITOR +2ms
mapeo:localPeers:peer:INVITEE [INVITOR] disconnected +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from auth core INVITOR_AUTH +49ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from auth core INVITEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from auth core BLOCKEE_AUTH +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from config core INVITOR_CONFIG +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from config core BLOCKEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blobIndex core 5ab1851 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blobIndex core f9b01cc +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from config core INVITEE_CONFIG +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blobIndex core 2c36545 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from data core 04cd092 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from data core 8f54716 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from data core 053067f +1ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blob core 51a52d5 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blob core b765603 +0ms
mapeo:project:syncApi:peer:INVITEE [INVITOR] peer-remove INVITOR from blob core e422197 +0ms
mapeo:LocalDiscovery:INVITEE closed connection with BLOCKEE +1ms
mapeo:localPeers:peer:INVITEE [BLOCKEE] disconnected +0ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] peer-remove BLOCKEE from auth core INVITOR_AUTH +50ms
mapeo:LocalDiscovery:BLOCKEE closed connection with INVITOR +3ms
mapeo:localPeers:peer:BLOCKEE [INVITOR] disconnected +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] peer-remove INVITOR from auth core INVITOR_AUTH +518ms
mapeo:LocalDiscovery:BLOCKEE closed connection with INVITEE +0ms
mapeo:localPeers:peer:BLOCKEE [INVITEE] disconnected +0ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] peer-remove INVITEE from auth core INVITOR_AUTH +518ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +1ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +1ms
mapeo:LocalDiscovery:INVITOR stopped for 45423 +2ms
mapeo:LocalDiscovery:INVITEE stopped for 42619 +1ms
mapeo:LocalDiscovery:BLOCKEE stopped for 46187 +1ms
mapeo:project:INVITOR closing project [undefined] +6s
mapeo:project:INVITEE closing project [undefined] +926ms
mapeo:project:BLOCKEE closing project [undefined] +6s
✖ no sync capabilities === no namespaces sync apart from auth (6481.351577ms)
AssertionError [ERR_ASSERTION]: blocked got cores for config

2 !== 3

    at TestContext.<anonymous> (file:///home/mauve/src/comapeo-core/test-e2e/sync.js:965:12)
    at async Test.run (node:internal/test_runner/test:797:9)
    at async Test.processPendingSubtests (node:internal/test_runner/test:526:7) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 2,
  expected: 3,
  operator: 'strictEqual'
}

﹣ Sync state emitted when starting and stopping sync (0.179378ms) # 'only' option not set
﹣ updates sync state when peers are added (0.098284ms) # 'only' option not set
﹣ Correct sync state prior to data sync (0.072067ms) # 'only' option not set
﹣ pre-haves are updated (0.06195ms) # 'only' option not set
﹣ data sync state is properly updated as data sync is enabled and disabled (0.086984ms) # 'only' option not set
﹣ Sync state with disconnected peer (disconnected peer wants) (0.10187ms) # 'only' option not set
﹣ Sync state with disconnected peer (want data from peer) (0.102952ms) # 'only' option not set
mapeo:project:syncApi:peer:INVITEE [INVITOR] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +150ms
mapeo:project:syncApi:peer:INVITEE [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +150ms
mapeo:project:syncApi:peer:INVITOR [BLOCKEE] capability { auth: 'blocked', config: 'blocked', data: 'blocked', blobIndex: 'blocked', blob: 'blocked' } +153ms
mapeo:project:syncApi:peer:INVITOR [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +154ms
mapeo:project:syncApi:peer:BLOCKEE [INVITOR] capability { auth: 'unknown', config: 'unknown', data: 'unknown', blobIndex: 'unknown', blob: 'unknown' } +201ms
mapeo:project:syncApi:peer:BLOCKEE [INVITEE] capability { auth: 'allowed', config: 'allowed', data: 'allowed', blobIndex: 'allowed', blob: 'allowed' } +201ms
ℹ tests 20
ℹ suites 0
ℹ pass 0
ℹ fail 1
ℹ cancelled 0
ℹ skipped 19
ℹ todo 0
ℹ duration_ms 7299.815603

✖ failing tests:

test at test-e2e/sync.js:897:6
✖ no sync capabilities === no namespaces sync apart from auth (6481.351577ms)
AssertionError [ERR_ASSERTION]: blocked got cores for config

2 !== 3

    at TestContext.<anonymous> (file:///home/mauve/src/comapeo-core/test-e2e/sync.js:965:12)
    at async Test.run (node:internal/test_runner/test:797:9)
    at async Test.processPendingSubtests (node:internal/test_runner/test:526:7) {
  generatedMessage: false,
  code: 'ERR_ASSERTION',
  actual: 2,
  expected: 3,
  operator: 'strictEqual'
}


t.after(() => manager.stopLocalPeerDiscoveryServer())
t.after(() =>
manager.stopLocalPeerDiscoveryServer({ force: true, timeout: 0 })
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Likely this could be reverted once we figure out why this test was having trouble

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run indexer functions in worker thread

2 participants